Cracking desde cero para súper newbies 3

 

Víctima:
3D Foto Studio
URL:
http://www.softonic.com/Static/r_1_11611.htm o http://www.filkorn.de
Descripción:
Si alguien le encuentra alguna cosa util a este programa, agradería que me lo comunicara.
Tamaño del ejecutable:
123.456 bytes
Tipo de Protección:
Número de serie
Método de ataque
Desensamblar y parchear
Objetivo
Simular estar registrados
Dificultad
Newbie - Aficionado - Avanzado - Experto - Élite
Herramientas 
W32Dasm y Hex Workshop.
Fecha:
26/9/2000

        Bueno, bueno, saludos a todos los seguidores de cracking desde cero para súper newbies!!!. En este tutorial veremos una protección súper estúpida. Aún más estúpida que la del tutorial 1. Yo no sé como no les de vergüenza a los programadores poder crear algo así. Bueno, pero en fin, peor para ellos. Si algo no queda bien explicado, ya saben, dek_oin@hotmail.com y listo.

 

Introducción

 

Abran el programa. Hmmm esto no me gusta nada, en la parte superior de la ventana dice Unregistered Shareware-Version. Vayan al menú register. Escriban un nombre por ejemplo dek_Oin y un serial cualquiera como mi preferido 123456789.

Bueno, hagan clic en OK y... cha cha cha channnn....

No, no funcionó el 123456789. En estos casos ya saben que hacer.


Primer ataque

Desensamblemos con el W32Dasm el ejecutable stereo.exe. Siempre deben hacer una copia de seguridad del ejecutable antes de crackearlo por si algo sale mal. El mensaje era "Incorrect registration key!" recuerdan?. Hagan clic en o string references y busquen el mensaje. Aquí está!!!

Siempre deben hacer clic sobre el más de una vez para saber si hay más de una referencia sobre el mensaje pero sólo hay una. Veamos lo que nos aparece:

* Possible StringData Ref from Code Obj ->"Thanks for registering 3D FotoStudio!"
|
:00495F66 B82C604900              mov eax, 0049602C
:00495F6B E8940EFAFF              call 00436E04
:00495F70 EB3D                    jmp 00495FAF

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00495EAB(C)
|
:00495F72 6A00                    push 00000000
:00495F74 668B0D20604900          mov cx, word ptr [00496020]
:00495F7B B201                    mov dl, 01

* Possible StringData Ref from Code Obj ->"Incorrect registration key!"
|
:00495F7D B85C604900              mov eax, 0049605C
:00495F82 E87D0EFAFF              call 00436E04
:00495F87 A1A8F44900              mov eax, dword ptr [0049F4A8]

Hasta ahora no tenemos que preocuparnos de nada porque sabemos que el mensaje de "Incorrect registration key!" está llamado desde la dirección 00495EAB. Vallamos a esa dirección a ver que hay. Hagan clic en goto/go to code location y escriban la dirección(00495EAB). 

:00495EA9 84C0                test al, al--> compara el s/n correcto con el que escribimos???
:00495EAB 0F84C1000000        je 00495F72--> si son iguales salta a la dirección 00495F72
:00495EB1 C60514324A0000      mov byte ptr [004A3214], 00
:00495EB8 8B45FC              mov eax, dword ptr [ebp-04]
:00495EBB 8B80C8020000        mov eax, dword ptr [eax+000002C8]

¿Que pasaría si revertimos el salto? Probemos. Abran el Hex Workshop hagan clic en edit/goto y escriban el offset del salto o sea 952AB(algo que no expliqué y que me gustaría dejar claro es que el offset es la dirección real de memoria. Cambiemos el 0F84 a 0F85 y guardemos los cambios. Tratemos de registrar el programa. Introduzcamos un nombre como dek_Oin y un serial como 123456789. OK y...

Lo logramos!!!!!!!!!. Nos vamos todos a festejar.

Vuelvo del festejo. Antes no le había encontrado ninguna utilidad a este programa así que voy a ver si le puedo encontrar una ahora. Abro el programa y...

¿Qué pasó?. No lo entiendo. Unregistered Shareware-Version, ¿qué es eso?. No se preocupen, es un error típico de cuando se empieza con la Ingeniería Inversa. Lo que hicimos al cambiar ese salto, fue hacer que el programa siempre muestre la ventanita de "Thanks for registering 3D FotoStudio!", pero en realidad, el programa no está registrado. Por eso es que puse los ??? en :00495EA9 84C0   test al, al. En realidad el programa no compara el s/n correcto con el que introducimos, lo que hace es ver si muestra el mensaje de "Thanks for registering 3D FotoStudio!" o no lo muestra.

 

Segundo ataque

 

Volvamos a desensamblar con el W32Dasm. Ahora busquemos la cadena Unregistered Shareware-Version en las String References y aquí está:

Hagan clic muchas veces para ver cuantas referencias hay sobre ella pero solo hay una que nos lleva a:

:00495649 803D14324A0000         cmp byte ptr [004A3214], 00
:00495650 7440                   je 00495692
--->COMPARA SI ESTAMOS REGISTRADOS O NO
:00495652 8D55F4                 lea edx, dword ptr [ebp-0C]
:00495655 8B45FC                 mov eax, dword ptr [ebp-04]
:00495658 E8C382F8FF             call 0041D920
:0049565D 8B55F4                 mov edx, dword ptr [ebp-0C]
:00495660 8B45FC                 mov eax, dword ptr [ebp-04]
:00495663 05B8030000             add eax, 000003B8
:00495668 E83FE3F6FF             call 004039AC
:0049566D 8D55F4 lea             edx, dword ptr [ebp-0C]
:00495670 8B45FC mov             eax, dword ptr [ebp-04]
:00495673 E8A882F8FF             call 0041D920
:00495678 8D45F4                 lea eax, dword ptr [ebp-0C]

* Possible StringData Ref from Code Obj ->
"(Unregistered Shareware-Version)"
|
:0049567B BAF45D4900             mov edx, 00495DF4

Ven el último salto antes del mensaje, ese es el que tendremos que parchear. Abran el Hex Workshop y instoduzcan el offset del salto(94A50). Cambien el 74 a 75 guarden los cambios y ejecuten el programa. 

Perfecto!!!!!!!!!!!!. Ahora si funciona.Todo se terminó. Ahora pueden borrar el programa ya que nos ocupa 2.81 megas de basura.

Despedida y agradecimientos

Gracias a mi nuevo grupo K-FoR, por invitarme a ser miembro y por su apoyo. Gracias a Pr@fEsOr X por su fabulosa compilación (no dejes de bajártela!!!) y por el trabajo que está realizando en benficio nuestro grupo. Gracias también a Karpoff, por su *gran* ayuda y sus consejos, y a Txeli, por su apoyo moral y por pasarme algunos programas interesantes. Y finalmente gracias a ustedes por leer mi manual y a todos los que me mandaron mails.

Saludos, nos vemos en el próximo manual!!!,

A S T A L A V I S T A


Página oficial del grupo K-FoR: http://pagina.de/kfor
Mi dirección de E-Mail: dek_Oin@hotmail.com